Skip to content

Preserve TOC insert API compatibility - #64

Merged
pathscale merged 2 commits into
masterfrom
fix/toc-insert-api-compat
Aug 8, 2026
Merged

Preserve TOC insert API compatibility#64
pathscale merged 2 commits into
masterfrom
fix/toc-insert-api-compat

Conversation

@pathscale

Copy link
Copy Markdown
Owner

Summary

  • restore the historical infallible IndexTableOfContents::insert return type
  • expose try_insert for persistence paths that can report a truncated chain
  • retain PR fix: keep TOC reload insertion on the fast path #63’s non-mutating capacity checks and O(1)-segment common path

Review resolution

Verification

  • cargo test --workspace --all-features (523 integration tests + workspace/unit/doc tests pass)
  • cargo clippy --workspace --all-targets --all-features -- -D warnings

@pathscale

Copy link
Copy Markdown
Owner Author

Review-round update

  • Clarified that insert restores the public infallible contract from before PR fix: keep TOC reload insertion on the fast path #63, while loaded persistence paths use try_insert for reportable truncation.
  • Documented the unit binding as a compile-time source-compatibility regression.
  • Focused TOC verification: 7 unit tests plus 17 integration tests passed; strict workspace all-target/all-feature Clippy passed.
  • Paired wt-benchmarks comparison against base d80d834: 20 samples per KV operation with identical checksums. Median throughput deltas were insert +1.21%, point read +1.32%, overwrite +0.17%, range scan -2.64%, and delete -0.93%.
  • Persisted 2,000-row load/churn/vacuum/reload passed on both base and head with identical 1,500 reloaded rows, file counts, file sizes, and vacuum statistics.

No correctness or material performance regression observed.

@pathscale
pathscale merged commit ab218be into master Aug 8, 2026
9 of 10 checks passed
@pathscale
pathscale deleted the fix/toc-insert-api-compat branch August 8, 2026 17:55
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant